import request from './request'
import {
  buildQueryString
} from "../utils/url"
/**
 * 查询首页轮播图数据
 * 
 * 该函数用于从后端接口请求首页轮播图列表数据，
 * 通常用于首页轮播组件初始化时获取展示图片及相关配置信息
 * 
 * @returns {Promise} 返回一个Promise对象，
 * 成功时resolve回调会接收后端返回的轮播图数据数组，
 * 数据结构通常包含轮播图ID、图片URL、跳转链接、排序序号等信息
 */
export const queryHomePageCarousel = () => {
  // 发送GET请求到首页轮播图接口
  return request.get("/home/page/carousel")
}

/**
 * 查询首页秒杀商品信息
 * 
 * 该函数用于向后端发送请求，获取首页展示的秒杀商品数据
 * 适用于首页秒杀活动模块，展示当前可参与的秒杀商品列表及相关信息
 * 
 * @returns {Promise} 返回一个Promise对象，resolve时包含后端返回的秒杀商品数据
 *                    数据结构通常包含商品ID、名称、图片、价格、库存、活动结束时间等信息
 */
export const queryHomePageSeckillProduct = () => {
  return request.get("/home/page/seckill/product/info")
}

/**
 * 查询畅销商品数据
 * 调用后端请求获取"大家都在买"的商品列表数据，通常按销量排序
 * @returns {Promise} 返回一个Promise对象，resolve时包含后端返回的畅销商品分页数据
 *                    数据结构通常为{code, message, data: {list: [], total: number, page: number, pageSize: number}}
 */
export const querybestseller = (page, pageSize) => {
  const param = {
    page,
    pageSize
  }
  // 发送GET请求到后端畅销商品接口
  return request.get(`/home/page/bestseller?${buildQueryString(param)}`)
}

export const queryHomePageTabList = () => {
  return request.get("/zone/list")
}

export const queryHomePageProductList = (categoryId, page, pageSize) => {
  return request.get(`/home/page/product/${categoryId}?page=${page}&pageSize=${pageSize}`)
}